package io;

import sun.applet.Main;

import java.io.*;
import java.util.Scanner;

/**
 * 简易记事本工具
 * 程序启动后在控制台输入一个文件名，然后对该文件进行写操作
 * 之后在控制台输入的每行字符串都要按行写入到文件中
 * 当单独输入exit时，程序退出， 注：exit不要写入文件
 *
 * 要求：自行创建流连接
 */
public class NoteDemo {
    public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入文件名: ");
        String file = scan.nextLine();
        /*//低级流
        FileOutputStream fos = new FileOutputStream(file);
        //转换流
        OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
        //缓冲流,块写提高效率
        BufferedWriter bw = new BufferedWriter(osw);
        //pw,按行写
        PrintWriter pw = new PrintWriter(bw);*/

        /*
            创建printWriter是，如果第一个参数为流，那么就支持再传入一个boolean型参数
            如果指定为true则打开了自动刷新功能，即：每当调用println方法后就会自动flush
            一次。
         */
        PrintWriter pw = new PrintWriter(
                new BufferedWriter(
                            new OutputStreamWriter(
                                new FileOutputStream(file),"UTF-8"
                         )
                ),true
       );

        System.out.println("请开始输入内容，单独输入exit退出");
        while (true){
            file = scan.nextLine();
            if ("exit".equals(file)){ //一定把字面量
                break;
            }
            pw.println(file);
        }
        pw.close();

    }
}
